package br.com.prontuario.dao.unitario.impl;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import br.com.prontuario.bean.NotificacaoBean;
import br.com.prontuario.dao.generico.DaoGenerico;
import br.com.prontuario.dao.unitario.contract.NotificacaoDaoContract;
import br.com.prontuario.dao.unitario.contract.ProcedimentoConsultaDaoContract;
import br.com.prontuario.entidade.ProcedimentoConsulta;

@Repository("daoNotificacao")
public class NotificacaoDao extends DaoGenerico<NotificacaoBean> implements NotificacaoDaoContract<NotificacaoBean> {

	private static final long serialVersionUID = 1L;

	@Autowired
	protected ProcedimentoConsultaDaoContract procedimentoConsultaDao;
	
	@Override
	public List<NotificacaoBean> buscarNotificacoesPendentes() {
		
		List<ProcedimentoConsulta> listaRetornos = procedimentoConsultaDao.buscarRetornoAVencer();
		List<NotificacaoBean> lista = new ArrayList<>();
		
		for (ProcedimentoConsulta procedimento : listaRetornos) {

			String proprietario = procedimento.getConsulta().getProprietario().getNome();
			String animal = procedimento.getConsulta().getAnimal().getNome();
			String texto = "Retorno do procedimento: "+procedimento.getProcedimento().getNome()+" do animal: " + animal  + " do proprietário: " + proprietario ;
			
			NotificacaoBean bean = new NotificacaoBean(procedimento.getDataRetorno(), texto, procedimento.getId(), 0);
			lista.add(bean);
		}

		return lista;
	}
	
}